#include "widget.h"

#include <QApplication>
#include <QFile>
#include <QXmlStreamReader>
#include <QDebug>

void fun()
{
    char data[4096]={0};
    //打开需要操作的文件
    FILE *fd = fopen("1.txt","r");
    if(fd == NULL)
    {
        perror("open fail:");
        return ;
    }


    int ret = 0;
    //循环读取一个文件
    while(1)
    {
        memset(data, 0, sizeof(data));
        ret = fread(data,sizeof(char),4096,fd);
        if(ret <= 0)
        {
            if(ferror(fd)) //判断是否读取错误
            {
                printf("读取文件错误\n");
            }

            if(feof(fd)) //判断是否读取完
            {
                printf("文件读到末尾\n");
                break;
            }
        }
        else
        {
            //printf("%s\n",data);
        }
    }
//qDebug() << data;
    // 使用QXmlStreamReader解析XML
    QXmlStreamReader xml(data);
    QString rawtext = "";
    // 检查是否存在XML解析错误
    if (xml.hasError()) {
        qDebug() << "111XML解析错误：" << xml.errorString();
        return ;
    }

    while (!xml.atEnd() && !xml.hasError())
    {
        QXmlStreamReader::TokenType token = xml.readNext();
        if (token == QXmlStreamReader::StartElement )
        {
            qDebug() << xml.name();
            if(xml.name() == "rawtext")
            {
                rawtext = xml.readElementText();
            }

            break;
        }
    }

    // 输出解析结果
    if (!rawtext.isEmpty()) {
        qDebug() << "解析结果：" << rawtext;
    } else {
        qDebug() << "未找到匹配的字符串:" << rawtext;
    }




}

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

//fun();


    Widget w;
    w.show();
    return a.exec();
}
